package provisioner;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.*;

public interface ResourceProvisioner extends Remote {
   String RMI_OBJ_NAME = "ResourceProvisioner";

   public Resource requestResource(String resourceType) throws RemoteException, ProvisionException, Exception;

   public void releaseResource(String resourceId) throws RemoteException, ProvisionException, Exception;

   public Resource getResource(String resourceId) throws RemoteException, ProvisionException, Exception;

   public void registerListener(Resource resource,ProvisionEventListener listener) throws RemoteException, ProvisionException, Exception;
   
   public void unregisterListener(Resource resource,ProvisionEventListener listener) throws RemoteException, ProvisionException, Exception;

}
